<h2>基本说明</h2>
<p>服务层用于系统之间的被动式接口，与标签反馈，菜单返回与权限返回等，服务层不涉及数据写入操作，如需数据写入请直接跨模型操作，您可以自己扩展服务层或者使用内置服务方法。</p>

<h2>相关函数</h2>
<h3>获取所有服务函数</h3>
<pre>
/**
 * 获取所有模块Service
 * @param string $name   指定服务名 如 Menu
 * @param string $method 服务类型 如 System
 * @param array  $vars   参数 传递给服务层方法参数
 * @return array
 */
get_all_service($name,$method,$vars=array());
</pre>
<h3>获取指定服务函数</h3>
<pre>
/**
 * 获取指定服务
 * @param string $appName   指定模块 如 System
 * @param string $name      指定服务名 如 Menu
 * @param string $method    服务类型 如 System
 * @param array  $vars      参数 传递给服务层方法参数
 * @return array
 */
function service($appName,$name,$method,$vars=array());
</pre>

<h2>自带接口</h2>
<h3>接入系统菜单中的服务</h3>
<p>文件名 <code>MenuService.php</code> </p>
<pre>
    /**
	 * 返回菜单结构
	 */
    public function getSystemMenu(){
		return array(
            //键名为分组标识，自带有index与system，可扩展
            'index' => array(
                'name' => '首页',  //分组名
                'icon' => 'home', //分组图标
                'order' => 0,     //分组顺序
                'menu' => array(
                    array(
                        'name' => '管理首页',   //菜单名
                        'icon' => 'home',      //菜单图标
                        'url' => url('system/Index/index'),   //菜单链接
                        'order' => 0           //菜单排序
                    )
                )
            ),
        );
	}
</pre>
<h3>接入系统权限中的服务</h3>
<p>文件名 <code>PurviewService.php</code> </p>
<pre>
    /**
	 * 返回模块权限
	 */
	public function getSystemPurview(){
		return array(
            //键名为控制器名
            'Setting' => array(
                'name' => '系统设置',       //功能描述
                'auth' => array(
                    'site' => '站点设置',   //方法名 => 描述
                )
            ),
        );
    };
</pre>
<script>
    Do.ready('pre', function () {
        $("pre").addClass("prettyprint");
        prettyPrint();
    });
</script>